Method and apparatus for interactive programming using captioning

ABSTRACT

A method and system for the creation of interactive programming using captions. A caption and program information extractor monitors a broadcast media signal having captions and program information encoded in the broadcast media signal. The captions and program information are extracted and stored in a content database. A moderator accesses the content database to retrieve captions and for a program specified by the program information. The moderator uses the services of a moderator server to generate interactive programming from the captions and the moderator&#39;s own comments. The interactive programming is transmitted to a plurality of viewers who interact with the interactive programming by entering viewer comments. The viewer comments are received by the moderator along with additional captions and new interactive programming is generated using the viewer comments, additional captions, and additional moderator commentary.

BACKGROUND OF THE INVENTION

[0001] This invention pertains generally to the field of interactiveprogramming and more specifically to creating interactive programmingusing captions from television programs.

[0002] Some television programs include captioning information createdby the television program broadcaster. The captions are encoded into thetelevision signal and broadcast to a viewer's television where thecaptions are extracted from the television signal and displayed on theviewer's television screen. The captions are intended for the hearingimpaired and contain textual representations of the auditory componentsof a television broadcast. While intended for the hearing-impaired,captions are used in a variety of situations. For example, the captionsmay be used in lieu of the audio components of the television signal sothat viewers can still watch television in environments where the noiselevels are very high, for example in a gymnasium.

[0003] The captioning for a television program include a textualrepresentation of the entire contents of the television program sincethe captions are intended as a complete replacement for the audiocomponents of a television program. This aspect of captions makes thecaptions useful for a variety of other purposes. For example, thecaptions can be used to create transcriptions of a television programfor archival purposes. In addition, the captions provide a compactrepresentation of the complete television program. Finally, adescription or metadata may be generated for a television program usingthe caption information. These different uses for captioning data makecaptioning an attractive source of information and content for peopledesiring to form special interest groups or communities aroundparticular television programs. For example, a commentator may want tocreate a talkshow to explore news items included in a televised newsreport. Such a talkshow would allow viewers and a commentator to fullyexplore news items within the context of a news broadcast.

[0004] Therefore, a need exists for an interactive program generationtool allowing the creation of a talkshow from captioning data. Such atool should be lightweight, meaning it does not require a lot ofprocessing resources to run, and should be able to generate interactiveprogramming for a variety of different display devices. The presentinvention meets such a need.

SUMMARY OF THE INVENTION

[0005] In one aspect of the invention, a caption and program informationextractor monitors a broadcast media signal having captions and programinformation encoded in the broadcast media signal. A caption and programinformation extractor monitors a broadcast media signal having captionsand program information encoded in the broadcast media signal. Thecaptions and program information are extracted and stored in a contentdatabase. A moderator accesses the content database to retrieve captionsand for a program specified by the program information. The moderatoruses the services of a moderator server to generate interactiveprogramming from the captions and the moderator's own comments. Theinteractive programming is transmitted to a plurality of viewers whointeract with the interactive programming by entering viewer comments.The viewer comments are received by the moderator along with additionalcaptions and new interactive programming is generated using the viewercomments, additional captions, and additional moderator commentary.

[0006] In one aspect of the invention, a method for generating aninteractive program for transmission over a communications network isprovided. A caption and program information extractor extracts captionsand program information from a broadcast media signal and puts thecaptions and program information in a content database. A moderatorserver is coupled through the communications network to a moderatorclient and a plurality of viewer clients. The moderator server receivesmoderator comments and edited viewer comments from the moderator clientthrough the communications network and gets captions and programinformation from the content database. The moderator server thengenerates interactive programming using the moderator comments, editedviewer comments, program information, and captions and transmits theinteractive programming to the viewer clients through the communicationsnetwork.

[0007] In another aspect of the invention, the moderator server receivesviewer comments from the viewer clients and transmits the viewercomments to the moderator client through the communications network.

[0008] In another aspect of the invention, the communications networkused is a virtual private network.

[0009] In another aspect of the invention, the viewers rate aninteractive program by further including an interactive program ratingsignal in the viewer comment signals. In response, a moderator maytransmit a viewer exclusion signal specifying a viewer client to themoderator server and the moderator server generates the interactiveprogramming using the viewer exclusion signal to exclude viewer commentsreceived from the specific viewer client. In addition, the moderator maytransmit a viewer invitation signal corresponding to a specific viewerclient to the moderator server and the moderator server generates viewerinteractive programming using the viewer invitation signal to includeviewer comments from the specific viewer client on a virtual stage.

[0010] In another aspect of the invention, an apparatus is provided forgenerating an interactive program for transmission over a televisionbroadcast network and a communications network. The apparatus includes acontent database, a caption and program information extractor coupled toa broadcast media signal source and the content database, and amoderator server coupled to a moderator client, the content database,and the television broadcast network. The moderator server includes aprocessor and a memory operably coupled to the processor. Programinstructions stored in the memory are executed by the processor toimplement the features of an interactive programming generation system.The program instructions include: receiving moderator comments andedited viewer comments by the moderator server from the moderatorclient; getting captions and program information by the moderator serverfrom the content database; generating viewer interactive programmingusing the moderator comments, edited viewer comments, programinformation, and captions; and transmitting the interactive programmingby the moderator server to viewer televisions through the televisionbroadcast network.

[0011] In another aspect of the invention, the moderator server isfurther coupled to a plurality of viewer clients through thecommunications network. The program instructions further includereceiving viewer comments by the moderator server from viewer clientsthrough the communications network and transmitting the viewer commentsby the moderator server to the moderator client through thecommunications network.

[0012] In another aspect of the invention, an apparatus for generatingan interactive program for transmission over a television broadcastnetwork is provided. The apparatus includes a content database and acaption and program information extractor coupled to a broadcast mediasignal source. The caption and program information extractor extractscaptions and program information from a broadcast media signal and putsthe captions and program information in the content database. Amoderator server is coupled to a moderator client through thecommunications network and coupled to the content database. Themoderator server is further coupled to the television broadcast network.The moderator server includes programming instructions for generation ofinteractive programming from the captions and program information. Themoderator server receives moderator comments and edited viewer commentsfrom the moderator client through the communications network and getscaptions and program information from the content database. Themoderator server then generates interactive programming using themoderator comments, edited viewer comments, program information, andcaptions and transmits the interactive programming to viewer televisionsthrough the television broadcast network. In another aspect of theinvention the moderator server is further coupled to a telephony networkand viewers communicate with the moderator server through the telephonynetwork.

BRIEF DESCRIPTION OF THE DRAWINGS

[0013] These and other features, aspects, and advantages of the presentinvention will become better understood with regard to the followingdescription, appended claims, and accompanying drawings where:

[0014]FIG. 1 is a conceptual diagram of a system for creating aninteractive program incorporating participant interactions in accordancewith an exemplary embodiment of the present invention;

[0015]FIG. 2 is a deployment diagram of a system for creating aninteractive program in accordance with an exemplary embodiment of thepresent invention;

[0016]FIG. 3 is a sequence diagram of the operations within a system forcreating an interactive program in accordance with an exemplaryembodiment of the present invention;

[0017]FIG. 4 is a screen capture of a moderator's interface used tocontrol generation of an interactive program in accordance with anexemplary embodiment of the present invention;

[0018]FIG. 5 is a screen capture of a viewer's interface used to viewand interact with an interactive program in accordance with an exemplaryembodiment of the present invention;

[0019]FIG. 6 is a diagram depicting a process for receiving viewerreactions to an interactive program and calculating an audience approvalsystem rating for the interactive program in accordance with anexemplary embodiment of the present invention;

[0020]FIG. 7 is a diagram depicting the ways in which a moderator mayinteract with a system for creating an interactive program in accordancewith an exemplary embodiment of the present invention;

[0021]FIG. 8 is a use case diagram depicting ways in which a viewer mayinteract with a system for creating an interactive program in accordancewith an exemplary embodiment of the present invention;

[0022]FIG. 9 is a Web site diagram of an interactive program creationsystem in accordance with an exemplary embodiment of the presentinvention;

[0023]FIG. 10 is a screen capture of an edit profile viewer interface inaccordance with an exemplary embodiment of the present invention;

[0024]FIG. 11 is a screen capture of a hub viewer interface inaccordance with an exemplary embodiment of the present invention;

[0025]FIG. 12 is a screen capture of a program guide viewer interface inaccordance with an exemplary embodiment of the present invention;

[0026]FIG. 13 is a screen capture of an interactive program archiveviewer interface in accordance with an exemplary embodiment of thepresent invention;

[0027]FIG. 14 is a screen capture of a moderator interface for aninteractive program authoring tool in accordance with an exemplaryembodiment of the present invention;

[0028]FIG. 15 is a screen capture of a moderator interface for aninteractive program reporting tool in accordance with an exemplaryembodiment of the present invention;

[0029]FIG. 16 is a screen capture of a moderator interface for aparticipant interaction report generated in accordance with an exemplaryembodiment of the present invention;

[0030]FIG. 17 is a screen capture of a moderator interface for anadvertising report generated in accordance with an exemplary embodimentof the present invention;

[0031]FIG. 18 is a database entity relation diagram for a moderatordatabase in accordance with an exemplary embodiment of the presentinvention;

[0032]FIG. 19 is a screen capture of a viewer interface for anon-moderator based interactive program associated with a broadcast inaccordance with an exemplary embodiment of the present invention;

[0033]FIG. 20 is a screen capture of a viewer interface for a broadcastprogram guide in accordance with an exemplary embodiment of the presentinvention;

[0034]FIG. 21 is a screen capture of a viewer interface for aninteractive program incorporating Web content in accordance with anexemplary embodiment of the present invention;

[0035]FIG. 22 is a screen capture of a viewer interface for aninteractive program incorporating Web content in accordance with anotherexemplary embodiment of the present invention;

[0036]FIG. 23 is a screen capture of a viewer interface for a facilityto manage a viewer's personal favorite interactive programs inaccordance with an exemplary embodiment of the present invention;

[0037]FIG. 24 is a screen capture of a viewer interface for a facilityto suggest programs to a viewer in accordance with an exemplaryembodiment of the present invention;

[0038]FIG. 25 is a deployment diagram of a process for conversion anddelivery of interactive programs via an interactive television networkin accordance with an exemplary embodiment of the present invention;

[0039]FIG. 26 is a hardware architecture diagram of a computing devicesuitable for use as a moderator server host in accordance with anexemplary embodiment of the present invention;

[0040]FIG. 27 is a collaboration diagram depicting an interactiveprogramming generation process in accordance with an exemplaryembodiment of the present invention;

[0041]FIG. 28 is a screen capture of an interactive program home viewerinterface in accordance with an exemplary embodiment of the presentinvention;

[0042]FIG. 29 is a screen capture of an interactive program systemlog-in interface in accordance with an exemplary embodiment of thepresent invention;

[0043]FIG. 30 is a process flow diagram of an interactive programgeneration process in accordance with an exemplary embodiment of thepresent invention;

[0044]FIG. 31 is a process flow diagram of an interactive program reportgeneration process in accordance with an exemplary embodiment of thepresent invention;

[0045]FIG. 32 is a process flow diagram of a viewer notification processin accordance with an exemplary embodiment of the present invention;

[0046]FIG. 33 is a deployment diagram of a locally hosted moderatorserver in accordance with an exemplary embodiment of the presentinvention;

[0047]FIG. 34 is a participant question filtering moderator interface inaccordance with an exemplary embodiment of the present invention;

[0048]FIG. 35 is an illustration of the operation of a participantquestion filtering facility in accordance with an exemplary embodimentof the present invention;

[0049]FIG. 36 is a process flow diagram of a participant question filterprocess in accordance with an embodiment of the present invention;

[0050]FIG. 37 is a deployment diagram for a telephony system fordelivery of an interactive program in accordance with an embodiment ofthe present invention;

[0051]FIG. 38 is a sequence diagram for a telephony process as used by atelephony system for delivery of an interactive program in accordancewith an embodiment of the present invention;

[0052]FIG. 39 is a screen capture of an interactive program authoringwizard in accordance with an exemplary embodiment of the presentinvention;

[0053]FIG. 40 is a block diagram of a system for extracting closedcaptioning from a broadcast signal in accordance with an exemplaryembodiment of the present invention;

[0054]FIG. 41 is a sequence diagram of an interactive programming systemin accordance with an exemplary embodiment of the present invention;

[0055]FIG. 42 is a sequence diagram of a key word or phrase to linkconversion system in accordance with an exemplary embodiment of thepresent invention;

[0056]FIG. 43 is a process flow diagram of a key word or phrase to linkconversion process in accordance with an exemplary embodiment of thepresent invention; and

[0057]FIG. 44 is a process flow diagram of a program information andcaption extraction process in accordance with an exemplary embodiment ofthe present invention.

DETAILED DESCRIPTION OF THE INVENTION

[0058]FIG. 1 is a conceptual diagram of a system for creating aninteractive program incorporating participant interactions in accordancewith an exemplary embodiment of the present invention. A moderator 100hosts an interactive program, such as a broadcast program with a talkshow format, that is transmitted to an audience having a plurality ofviewers 102. The interactive program takes place on a virtual stage 104where the moderator generates interactive programming for transmissionto the viewers. The moderator transmits the interactive program 106 tothe viewers. The viewers may passively watch the interactive program ormay become active participants by generating their own comments 108 thatare transmitted back to the moderator. The moderator edits or filtersthe participant comments and retransmits the edited participant commentsas part of the interactive program. The viewers may communicate witheach other during the interactive program by exchanging audienceinteractive messages 110 between themselves.

[0059] The moderator controls the content of the interactive program ina variety of ways. The moderator introduces the initial topic or contentfor audience interaction. For example, the moderator may introduce atopical event such as a news story and then ask for participantcomments. The moderator may also use previously prepared content such asa non-interactive program that is transmitted to the audience in orderto elicit audience member responses and engage viewers. The moderatorcan invite virtual guests 112 from the audience onto the virtual stage.While on the virtual stage, the virtual guests exchange interactivemessages directly with the moderator rather than with other audiencemembers or participants. The moderator may also exclude a participant orviewer from the audience. Additionally, the moderator may generateadditional interactive programming for use by the audience such as pollsso that the audience can participate in the interactive program byselecting responses to a question from a list of answers. The results ofthe participant responses are aggregated for inclusion in theinteractive program.

[0060] In one system for creating an interactive program incorporatingparticipant interactions in accordance with an exemplary embodiment ofthe present invention, the interactive programs are talk shows hosted byindependent moderators and delivered to an audience via the Internet.This system allows a moderator to be recognized as an expert orrespected voice in a particular field while building a community ofviewer participants interested in that particular field. The systemallows the moderator to create a controlled and moderated environmentwhere the moderator directs the flow of information and has completecontrol over the medium. The system is cost-effective because no specialhardware or training is needed to operate the system. The systemfeatures a customizable Web-based interface for moderators and viewersto use in creating customized collaborative interactive programs.

[0061]FIG. 2 is a deployment diagram of a system for creating aninteractive program incorporating participant interactions in accordancewith an exemplary embodiment of the present invention. A moderator 100transmits an interactive program to a plurality of viewers, asexemplified by viewers 200 a and 200 b, via a communications network 202such as the Internet. The moderator uses a moderator client 204 totransmit moderator signals over communications link 206 andcommunications link 208 to a moderator server 210. The moderator serveruses the moderator signals to generate an interactive program that istransmitted over communication link 208 and communications links 212 aand 212 b to a plurality of viewer clients as exemplified by viewerclients 214 a and 214 b. The viewers become participants by respondingto the interactive program by generating and transmitting to themoderator server a plurality of participant comment signals using theviewer clients. The participant comment signals encode the participants'commentary about the interactive program. The moderator server receivesthe participant comment signals and retransmits them to the moderatorclient where the moderator edits the participant comment signals. Themoderator generates new moderator signals that are transmitted to themoderator server along with the edited participant comment signals. Themoderator server uses the moderator signals and the edited user commentsignals to generate additional interactive program signals that aretransmitted to the viewers' clients. The process of receivingparticipant comment signals, editing the user comment signals, andgenerating new interactive program signals is repetitively performed inorder to generate an interactive program incorporating viewerinteractions.

[0062] In a system for creating an interactive program incorporatingviewer interactions in accordance with an exemplary embodiment of thepresent invention, the moderator server is operably coupled to contentserver 216 via a communications link 218. The content server hosts acontent source such as content database 220 including content suitablefor broadcast by the moderator server. Such content may include pastbroadcast programs that the moderator is using as a topic for furtherdiscussion within the audience. The moderator instructs the moderatorserver to request and receive content signals from the content serverand the moderator server generates an interactive program including thecontent signals. In this way, non-interactive content may be enhancedwith an interactive component thus leveraging non-interactive content bycreating an interactive program using content without an interactivecomponent. In another embodiment of enhanced content, the content issynchronized with the interactive component and the content istransmitted to the viewer client from a server other than the moderatorserver in a program synchronous fashion.

[0063] In a system for creating an interactive program incorporatingviewer interactions in accordance with an exemplary embodiment of thepresent invention, the moderator server hosts software facilities forthe moderator to use in generating an interactive program. The moderatorserver is operably coupled to a moderator database 230 includingmoderator information describing the type of interactive program themoderator produces and the moderator's interactive program broadcastschedule. The moderator information may be used to automaticallygenerate a dynamic programming guide thus helping viewers find themoderator's interactive program. In addition, the moderator serverrecords viewer interaction data describing the amount, timing, and typeof viewer interactions with the moderator's produced interactiveprogramming. The moderator may access the viewer interaction data togenerate reports regarding the moderator's interactive programming.

[0064] In a system for creating an interactive program incorporatingviewer interactions in accordance with an exemplary embodiment of thepresent invention, the moderator server hosts a viewer database 232including viewer profile information. Viewer profile informationincludes information about viewer preferences and viewer notificationrequests. The viewer preferences are used by the moderator server tosuggest interactive programming generated by a moderator which may matchthe viewer's stated preferences. The viewer notification requests areused by the moderator server to generate viewer notifications that aretransmitted to a viewer in order to notify a viewer when a specificinteractive program is about to be broadcast.

[0065] In one embodiment of a viewer notification generation process inaccordance with the present invention, the privacy of the viewer isprotected by not allowing the moderator access to viewer profiles. Forexample, the moderator may initiate a notification process but themoderator is never allowed to see to which viewers the notifications aresent. In addition, any viewership reports generated on behalf of amoderator use aggregate data for the viewers so that the viewers'identifications are not associated with the individual viewershipreports.

[0066] In a system for creating an interactive program incorporatingviewer interactions in accordance with an exemplary embodiment of thepresent invention, the audience and moderator comment on a broadcastprogram over which the moderator has minimal control. In thisembodiment, a broadcaster 222 transmits a broadcast media signal 224received by a viewer's broadcast media receiver 226 and a moderator'sbroadcast media receiver 228. In this embodiment, the moderator and theaudience watch the broadcast program and exchange commentary about thebroadcast program over the communications network as described above. Inthis way, non-interactive programming can be supplemented with aninteractive component. Exemplary broadcast programs include broadcastsof real-time events, such as sporting events or breaking news stories,and pre-recorded programming such entertainment programs ordocumentaries.

[0067]FIG. 3 is a sequence diagram of a process within a system forcreating an interactive program incorporating viewer interactions inaccordance with an exemplary embodiment of the present invention. Amoderator server 210 receives participant comments 300 a and 300 b froma plurality of viewer clients as exemplified by viewer clients 212 a and212 b. The moderator server transmits the participant comments, 300 aand 300 b, to a moderator client 204. A moderator uses the moderatorclient to edit (302) the participant comments and generate (304)moderator comments. The edited participant comments and the moderatorcomments 306 are transmitted to the moderator server along with othermoderator control signals generated by the moderator such as a viewerinvitation signal for indicating a viewer to invite to a virtual stageor a viewer exclusion signal for excluding a viewer that is not behavingproperly. The moderator server uses the moderator comments and theedited participant comments to generate (308) viewer interactiveprogramming, 310 a and 310 b, that is transmitted to the plurality ofviewer clients and moderator interactive programming 312 that istransmitted to the moderator client. The process is repeatedindefinitely to generate an interactive program with the plurality ofviewers interacting with the viewer interactive programming and themoderator using the moderator interactive programming to moderate thegeneration process.

[0068] In one embodiment of a system for creating an interactive programin accordance with an exemplary embodiment of the present invention, theinteractive programming generated by the moderator server is stored in amoderator database (for example moderator database 230 of FIG. 2) forarchival purposes. The interactive programming can be indexed andcataloged for generation of an archive listing describing the archivedinteractive programming. A viewer can then request archived interactiveprogramming for viewing at a later time for “on-demand” viewing.

[0069] In one embodiment of a system for creating an interactive programin accordance with an exemplary embodiment of the present invention, aviewer can initiate the creation of an archive for an interactiveprogram. As the interactive program is produced and transmitted to theviewer, the interactive program signals are stored for the viewer's ownuse. For example, a viewer can initiate the creation of an archive for ashort period of time so that the viewer can leave the interactiveprogram and rejoin the interactive program and be able to view theportions of the interactive program that the viewer missed. As anotherexample, the viewer can create a personal archive of past interactiveprograms in a manner similar to a personal video recorder.

[0070] In another system for creating an interactive program inaccordance with an exemplary embodiment of the present invention, thecommunications network is the Internet and the viewer clients and amoderator client are Web browsers. The moderator server receivesmoderator and participant comment signals in the form of POST requestsand generates the interactive program as an interactive electronicdocument written in a document markup language such as Hyper Text MarkupLanguage (HTML) or eXtensible Markup Language (XML) that is transmittedto the viewer clients. The viewer clients parse the electronic documentand generate viewer displays using the instructions in the electronicdocument. The viewers respond to the viewer displays by entering textand selecting elements from the viewer displays. These viewerinteractions are transmitted to the moderator server by the viewer'sclients in subsequent POST messages. The moderator receives a differentset of interactive moderator electronic documents that implement amoderator user interface enabling the moderator to control theoperations of the moderator server.

[0071] In one system for creating an interactive program in accordancewith an exemplary embodiment of the present invention, the system isdeployed using the Microsoft® TV platform which is a standards-based,client and server software middleware system for deploying interactiveprogramming. The platform includes a client software application hostedby a set-top-box and a server software application operably coupled by acommunications network. The client software application includes a Webbrowser that can be used much like a conventional Web browser and anapplication programming interface for building native applications thatare hosted by the set-top-box. The server includes several managementfunctions including t-commerce and client management applications.

[0072] In another system for creating an interactive program inaccordance with an exemplary embodiment of the present invention, theinteractive programming generated by the moderator server furtherincludes “click-through” style banner ads for selection by a viewer. Ifa viewer selects a click-through banner ad, the viewer's interactionwith the banner ad is recorded in a moderator database in order togenerate click-through activity related to the interactive programming.The banner ads may come either from the moderator server or an ad servernot affiliated with the moderator server.

[0073]FIG. 37 is a deployment diagram for a telephony system fordelivery of an interactive program in accordance with an embodiment ofthe present invention. A previously described moderator server 210 isoperably coupled via a communications network 202 to previouslydescribed viewer client 214 a. A viewer 200 a, views an interactiveprogram by accessing the moderator server using the viewer client. Toparticipate, the viewer uses a telephone device 3700 to connect to atelephony agent 3702 operably coupled to the moderator server via thecommunications network. In operation, the viewer uses the telephone todial up the telephony agent. The telephony agent receives audio signalsand converts the audio signals to text signals that are transmitted tothe moderator server via the communications network. In turn, themoderator server re-routes the textual component signals of aninteractive program to the telephony agent. The telephony agent receivesthe textual component signals and converts the textual component signalsinto audio signals for transmission to the viewer via the telephone.

[0074] In another interactive program creation system in accordance withan embodiment of the present invention, a viewer downloads and installsa custom client plug-in that allows a viewer a built-in microphone onthe viewer client. Using a control panel, participants direct theirquestions or comments to either the virtual stage or the audienceinteractive message area. The spoken words are digitized by the viewerclient, analyzed, translated into text form, and transmitted via thecommunications link to the moderator server. The question or commentthen appears in the interactive program. The plug-in allows viewers toparticipate in an interactive program in a traditional, voice-based wayif they choose to.

[0075] In another interactive program creation system in accordance withan embodiment of the present invention, the spoken words are nottranslated to text. Instead, the digitized voice is transmitted directlyover the communications link to the moderator server such as in Voiceover Internet Protocol (VOIP) transmissions.

[0076]FIG. 38 is a sequence diagram for a telephony process as used by atelephony system for delivery of an interactive program in accordancewith an embodiment of the present invention. A viewer uses a telephonedevice 3700 to send participant voice signals to a telephony agent 3702.The telephony agent converts 3802 the participant voice signals to textin a speech-to-text conversion process. The textual participant comments3804 are transmitted to the moderator server. The textual participantcomments are used to generate 3806 viewer interactive programmingsignals 3808 in a to-be-described process. The moderator servertransmits the viewer interactive programming signals to the viewerclient and transmits a second set of viewer interactive programmingsignals 3810 to the telephony agent. The telephony agent converts (3812)the textual portions of the viewer interactive programming to signalsfor an audio version of the viewer interactive programming 3814 in atext to speech conversion process. In this way, a viewer can participatein an interactive program using a telephone device for the generation ofviewer interaction signals.

[0077] In another telephony process as used by a telephony system fordelivery of an interactive program in accordance with an embodiment ofthe present invention, the video components of the interactive programare dispensed with and the participant interacts with the textualcomponents of the interactive program using the telephone device. Inthis way, an interactive program can be created by a moderator with onlytextual or audio and textual components that is accessible to aparticipant using only a telephone device.

[0078]FIG. 40 is a deployment diagram of a system for extracting closedcaptioning from a broadcast signal in accordance with an exemplaryembodiment of the present invention. A broadcaster 222 transmits abroadcast media signal 226 that is received by a caption and programinformation extractor 4000. The caption and program informationextractor includes programing instructions 4001 that identify captioningand program information encoded in the broadcast media signal andextracts the captions and program information for storage in a database.The broadcast media signal includes captioning information 4002 encodedin the signal such as within line 21 of a vertical blanking interval(VBI) of a television signal. The captioning information is encoded inthe broadcast media signal by a broadcaster in order to servehearing-impaired viewers of the broadcast media signal. As such, thecaptioning information includes a transcription of the speech portion ofa broadcast program. For example, a talkshow with captioning may includea transcript of the questions asked by a host of a guest and theresponses of the guest to the host's questions.

[0079] The captioning information is included as several text streams inthe broadcast media signal. In one embodiment of a broadcast mediasignal in accordance with an exemplary embodiment of the presentinvention, the captioning information includes a field 1 4004 and afield 2 4006. Field 1 includes a first captioning information 4008 and asecond captioning information 4010 text stream. Field 2 includes a thirdcaptioning information 4012 and a fourth captioning information 4014text string as well as eXtended Data Service (XDS) information 4016encoded in a series of packets. The fields are described in table 1a andtable 1b below. TABLE 1a Field 1 Packets Name* Field Data ChannelDescription CC1 1 1 Primary Synchronous Caption Service CC2 1 2 SpecialNon-Synchronous Use Captions T1 1 1 First Text Service T2 1 2 SecondText Service

[0080] TABLE 1b Field 2 Packets Name* Field Data Channel Description CC32 1 Secondary Synchronous Caption Service CC4 2 2 SpecialNon-Synchronous Use Captions T3 2 1 Third Text Service T4 2 2 FourthText Service XDS eXtended Data Services

[0081] There are several different classes of XDS packets encapsulatinginformation about a broadcast program. For example, defined XDS packetclasses include Current Class (information about the current programsuch as the title, length, rating, elapsed time, audio services, captionservices, and aspect ratio), Future Class (the same information for anupcoming program), Channel Information Class (information such as thenetwork name, station call letters, native channel number and tapedelay), Miscellaneous Class (containing the time of day and the localtime zone) and Public Service Class (severe weather warnings). Inaddition, Reserved and Undefined Classes are set aside for futureexpansion and proprietary applications.

[0082] For each Class, there are two groups of similar packet types. Bit6 is used as an indicator of these two groups. When bit 6 of the Typecharacter is set to 0 the packet only describes information relating tothe channel that carries the signal. This is known as an In-Band packet.When bit 6 of the Type character is set to 1, the packet only containsinformation for another channel. This is known as an Out-of-Band packet.

[0083] The Current Class includes a Program Identification Number(Scheduled Start Time) packet including four characters that define theprogram start time and date relative to Coordinated Universal Time(UTC). This is non-character-based data so bit #6 is always set to one.The format of the characters is identified in Table 2. TABLE 2 CharacterB6 b5 b4 b3 B2 B1 b0 Minute 1 m5 m4 m3 m2 m1 m0 Hour 1 D h4 h3 h2 h1 h0Date 1 L d4 d3 d2 d1 d0 Month 1 Z T m3 m2 m1 m0

[0084] The minute field has a valid range of 0 to 59, the hour fieldfrom 0 to 23, the date field from 1 to 31, the month field from 1 to 12.The “T” bit is used to indicate a program that is routinely tape delayed(for mountain and pacific time zones). The D, L, and Z bits are ignoredby the decoder when processing this packet. (The same format utilizesthese bits for time setting.) The T bit is used to determine if anoffset is necessary because of local station tape delays. A separatepacket of the Channel Information Class indicates the amount of tapedelay used for a given time zone. When all characters of this packetcontain all Ones, it indicates the end of the current program. A changein received Current Class Program Identification Number is interpretedby XDS receivers as the start of a new current program.

[0085] A Length/Time-in-Show packet is composed of 2, 4 or 6non-character-based informational characters. It is used to indicate thescheduled length of the program as well as the elapsed time for theprogram. The first two informational characters are used to indicate theprogram's length in hours and minutes. The second two informationalcharacters show the current time elapsed by the program in hours andminutes. The final two informational characters extend the elapsed timecount with seconds. The informational characters are encoded asindicated in Table 3. TABLE 3 Character B6 b5 b4 b3 B2 B1 b0 Length -(m) 1 m5 m4 m3 m2 m1 m0 Length - (h) 1 h5 h4 h3 h2 h1 h0 ET - (m) 1 m5m4 m3 m2 m1 m0 ET - (h) 1 h5 h4 h3 h2 h1 h0 ET - (s) 1 s5 s4 s3 s2 s1 s0Null 0 0 0 0 0 0 0

[0086] The minute second fields have a valid range of 0 to 59, and thehour fields from 0 to 63. The sixth character is a standard null.

[0087] The Program Name packet contains a variable number, 2 to 32, ofInformational characters that define the program title. Each characteris in the range of 20 h to 7 Fh. The variable size of this packet allowsfor efficient transmission of titles of any length.

[0088] A complete definition of a XDS packets may be found inRecommended Practice for Line 21 Data Service, Electronics IndustriesAssociation, EIA-608 (drafts Oct. 12, 1992 and Jun. 17, 1993), thesubject matter of which is hereby incorporated by reference as if fullystated herein. An exemplary device suitable for extraction of captionsand XDS packets from a television signal is an ATI-TV ISA televisiontuner sold by ATI technologies Inc. of Markham, Ontario Canada. Thedevice includes software for monitoring television signals andextracting captioning to create a program transcription.

[0089] The caption and program information extractor extracts thecaptioning information 4018 from the broadcast media signal along withprogram information 4020 from the concurrently transmitted XDS packetsand stores the captioning information and program information in acontent database 220 serviced by a content database server 4022. Thecontent database server is coupled to the previously described contentserver 216.

[0090] A moderator server 210 receives captioning information from thecontent server and transmits the captions to a moderator client 204 overcommunications link 208 and communications link 206. A moderator 100uses the moderator client to edit the captioning information and addsmoderator commentary to the edited captioning information thus creatingmoderated programming content using the captioning information as sourcematerial. The moderator client transmits the edited captioninginformation and moderator commentary to the moderator server where themoderator server creates interactive programming for transmission to aplurality of viewer clients, as exemplified by viewer client 214 a, viaa communications network 202 such as the Internet and communicationslink 212 a. A plurality of viewers, as exemplified by viewer 200 a, viewand interact with the interactive programming using a viewer client.

[0091] In one embodiment of a caption and program data extractor inaccordance with an exemplary embodiment of the present invention, othercomponents of the broadcast media signal are extracted and stored in thecontent database. For example, the caption and program data extractormay extract video frames from the broadcast media signal on either aregular or random interval and store the captured frames along with thecaptioning information and program information. As another example, thecaption and program data extractor may extract portions of an audiocomponent and store the portions in the content database. Theseadditional components of the broadcast media signal are associated withthe captioning and programming information in the content database sothat the additional components may be recalled and used to augment thecaptioning information when generating interactive programming.

[0092] In one system for extracting closed captioning from a broadcastsignal in accordance with an exemplary embodiment of the presentinvention, the extracted captions are compressed before they are stored.As the captions are textual information, many compression tools may beused. In one system, the compression tool used is theLempel-Ziv-Oberhumer (LZO) compression tool authored by Markus FranzXaver Johannes Oberhumer. Source code for the compression tool isavailable at http://www.oberhumer.com/opensource/lzo/. LZO is a losslessblock compression technique with decompression requiring no memoryresources. As the decompression step does not require any memoryresources, decompression may be performed on hosts with limited memorysuch as set top boxes used with televisions as displays.

[0093]FIG. 44 is a process flow diagram of a program information andcaption extraction process in accordance with an exemplary embodiment ofthe present invention. A program information and caption extractionprocess 4001 is hosted by a previously described program information andcaption extractor 4000 (of FIG. 40). The program information and captionextraction process receives (4400) a broadcast media signal havingcaptions and program information as previously described. The programinformation and caption extraction process extracts (4402) the programinformation from the broadcast media signal and determines (4404) if theprogram information indicates that a new program is being broadcast. Ifso, the program information and caption extraction process creates(4406) a new database record (4408) for extracted captions using theprogram information and puts the program information into the newdatabase record. The program information and caption extraction processthen extracts (4410) the captions from the broadcast media signal andstores the captions in the new database record. The program informationand caption extraction process determines (4412) it should stopextracting captions. If not, the program information and captionextraction process continues receiving (4400) the broadcast media signallooking for programs and new captions to archive.

[0094]FIG. 41 is a sequence diagram of an interactive programming systemin accordance with an exemplary embodiment of the present invention. Amoderator uses a moderator client 204 to request and receive captions4100 from a content database server 4022 via a moderator server 210. Themoderator uses the moderator client to edit (4102) the captions and add(4104) commentary. The edited captions and commentary 4106 aretransmitted to the moderator server where they are used generate (4108)interactive programming for both a viewer 4110 and the moderator 4112. Aviewer interacts with the viewer interactive program by entering (4113)viewer comments 4114 using the viewer client. The viewer comments aretransmitted by the viewer client the moderator server that retransmitsthe viewer comments to the moderator client. The moderator clientrequests and receives additional captions 4118 from the content databaseserver via the moderator server. The moderator then edits (4122) thecaptions, edits (4124) the viewer comments, and adds (4126) commentaryto create new edited captions, viewer comments, and commentary 4128 thatare transmitted to the moderator server. The moderator server uses theedited captions, viewer comments, and commentary to generate (4130) newviewer interactive programming 4132 and moderator interactiveprogramming 4134 for transmission to the viewer client and the moderatorclient respectively. The process of combining viewer comments, newcaptions, and moderator commentary to generate interactive programmingis continuously repeated to generate a continuous stream of interactiveprogramming.

[0095] In one interactive programming system in accordance with anexemplary embodiment of the-present invention, the captioninginformation is compressed as previously described. In addition, theinteractive programming for both commentator and the viewer iscompressed before transmission.

[0096] Referring again to FIG. 40, in one interactive programming systemin accordance with an exemplary embodiment of the present invention,broadcast interactive programming 4018 is encoded for broadcasttransmission in the VBI of a television signal. Textual components of aninteractive program are generated as previously described and placedinto a television VBI signal as captioning information. The televisionsignal may include a video signal for a television program that thecommentator and the viewers want to discuss. The television signalincluding the interactive programming is transmitted to the viewers andthe viewers' television, as exemplified by broadcast interactiveprogramming receiver 4020, decodes and displays the textual componentsof the interactive programming. Viewers interact with the interactiveprogramming using a back channel 4022, such as through a communicationsnetwork 202, or a previously described telephony link.

[0097] Links to other resources are encoded in the television signal inthe form of Uniform Resource Locators (URLs) which are stringrepresentations of locations for use in identifying abstract or physicalresources on the Internet. URLs can be transmitted in the T-2 serviceencoded in line 21 of the VBI, and may be used by receiving devices topermit the linking of television programs with related content on theInternet so that the content from these Internet services may becombined, mixed or shared by the receiving device.

[0098] URLs are transmitted in T-2 by using the following generalformat:

[0099] <url>[attr1:val1][attr2:val2]. . . [attrn:valn][checksum]

[0100] The URL is enclosed in angle brackets, followed by zero or morepairs of attributes and values in square brackets, which are thenfollowed by a checksum in square brackets. Four attributes are definedin this standard: “type”, “name”, “expires”, and “script”. The “type”attribute indicates what sort of content the URL is associated with (forexample, content related to the current television program or with thebroadcast network). The type can be airy one of the values in table 4:TABLE 4 Value URL is associated with PROGRAM the current program NETWORKthe broadcast network STATION the local station SPONSOR a commercialsponsor or advertiser for the current program OPERATOR the service(e.g., cable or satellite) operator

[0101] The “name” attribute indicates a human-readable title for theresource and can be any string of characters between 20 h and 7 Ehexcept square brackets (5 Bh and 5 Dh) and angle brackets (3 Ch and 3Eh). The “expires” attribute enables an author to specify the last datethe URL is valid, after which the URL should be ignored by the receivingdevice. The “script” attribute enables the triggering of specificactions within the content referenced by the URL. The value specifies ascript fragment that is to be sent to the page and executed; thescripting language is compatible with ECMA-262 (for example,“JavaScript™” or “JScript™”). The script is executed when the contentreferenced by the URL is displayed on the receiving device. If thatcontent is currently being displayed, the script fragment is immediatelyexecuted. The context for the script is the root document correspondingto the URL specified.

[0102]FIG. 42 is a sequence diagram of an interactive programminggeneration process wherein the interactive programming includes links toother resources in accordance with an exemplary embodiment of thepresent invention. Links may be added to an interactive program for useby a viewer for a variety of purposes. A link may provide access to atCommerce site where viewers use their televisions and set-top boxes tobrowse products for sale. Another use of a link is to provide additionalinformation for a viewer while watching an interactive program. Forexample, if the interactive program has a talkshow format, the links maybe used to direct a viewer to a Web site where additional informationabout a talkshow topic is located.

[0103] As another example, a link may provide access to other relatedinteractive programming. A moderator uses a moderator client 204 totransmit key words or phrases associated to links 4200 to the moderatorserver. The key words or phrases will be used to search the captions bythe moderator server. When a key word or phrase is found, the moderatorserver generates a link for inclusion in a VBI. The moderator serverreceives captions 4202 from a content database server 4022 andretransmits the captions to the moderator client. The moderator edits(4204) the captions and adds (4206) commentary to the captions. Theedited captions and commentary 4208 are transmitted by the moderatorclient to the moderator server. The moderator server generates 4210 aninteractive program from the edited captions and moderator commentary.The moderator server then adds 4212 links to the interactive programming4214 using the key words or phrases and associated links before theinteractive programming is transmitted to a viewer's broadcastinteractive program receiver 4020.

[0104]FIG. 43 is a process flow diagram of a dynamic link creationprocess in accordance with an exemplary embodiment of the presentinvention. Links are added to an interactive program dynamically withoutdirect intervention or editing by the moderator. The moderator supplieskey words or phrases that are associated with links as the contextualframework associating textual information in the interactive programwith other resources. A dynamic link creation process 4212 receives(4302) input interactive programming 4304 including textual components.The dynamic link creation process searches (4306) the textual componentsof the interactive programming for key words or phrases 4200 supplied bya commentator. If a key word or phrase is found (4308), the dynamic linkcreation process creates (4310) a link and adds the link (4312) to theinteractive programming for transmission to a viewer. The dynamic linkcreation process continues processing (4314) new interactive programmingas the interactive programming is created.

[0105]FIG. 27 is a collaboration diagram depicting an interactiveprogramming generation process in accordance with an exemplaryembodiment of the present invention. A moderator server 210 includes avirtual stage content engine 2702 and an audience content engine 2704.These content engines generate content, such as the content for a chatroom, and transmit the content to an interactive program generator 2706included in the moderator server. The virtual stage content enginereceives previously described moderator comments and edited participantcomments 306 from the previously described moderator client. The virtualstage content engine uses the moderator's comments and editedparticipant comments to generate moderator content for a to-be-describedstage section or area in an interactive program. The audience contentengine receives previously described participant comments, 300 a and 300b, from the previously described viewer clients, 212 a and 212 b, editedparticipant comments and moderator comments 306 from the moderatorclient, and uses the participant comments, edited participant comments,and moderator comments to generate audience content for ato-be-described audience section or area in an interactive program.

[0106] The interactive program generator receives the moderator contentand the audience content and uses the content to generate enhancedinteractive programming. The interactive programming includes viewerinteractive programming 310 a and 310 b that is transmitted to theviewer clients for display and use of the viewers. The interactiveprogramming further includes moderator interactive programming 312transmitted to the moderator for viewing and use by the moderator. Thecycle of receiving participant, moderator and edited participantcomments and using the comments to generate interactive programming fortransmission to the moderator and viewer is repeated indefinitely tocreate a continuous interactive program.

[0107] In an interactive program creation system in accordance with anexemplary embodiment of the present invention, content 2708 from apreviously described content server 216 is received by the interactiveprogram generator and the content is included in the generatedinteractive programming. In an interactive program creation system inaccordance with another exemplary embodiment of the present invention, avirtual guest client 2710 transmits virtual guest comments 2712 to thevirtual stage content engine for inclusion in the virtual stage contentgenerated by the virtual content engine.

[0108] In an interactive program creation system in accordance withanother exemplary embodiment of the present invention, the moderator,participant, and guest interactive messages are chat messages and thevirtual stage and audience content engines are chat engines. Thetext-based output from the chat engines is used by the interactiveprogram generator generate interactive programming including electronicdocuments, such as transcripts, composed in a document markup languagesuch as HTML or XML.

[0109]FIG. 30 is a process flow diagram of an interactive programgeneration process in accordance with an exemplary embodiment of thepresent invention. A moderator server receives (3000) moderatorcommentary and edited participant commentary 3001 from a moderator. Themoderator server receives (3002) participant commentary 3003 fromviewers in an audience. The moderator server uses the participantcommentary, the moderator commentary, and the edited participantcommentary to generate (3004) viewer interactive programming 3006 fortransmission to viewers in the audience. The moderator server uses themoderator commentary and the edited participant commentary to generate(3008) moderator interactive programming 3010 for transmission to themoderator. The moderator then transmits (3012) the moderator interactiveprogramming to the moderator and the viewer interactive programming tothe viewers in an audience. The process is repeated (3014) continuouslyto generate an interactive program.

[0110]FIG. 4 is a screen capture of a moderator interface used tocontrol generation of an interactive program in accordance with anexemplary embodiment of the present invention. A moderator's interface400 includes a trademark field 402 for display of a moderator serveroperator's trademark, in this screen capture, talkshow.com^(SM) is aservice mark of Lakeview Capital Trust, a Pennsylvania Trust. Themoderator interface has a moderator identification field 404 for thedisplay of the moderator's identification and an interactive programidentifier field 406 for identification of the interactive program beingproduced by the moderator.

[0111] In one embodiment of a moderator server in accordance with thepresent invention, the moderator server is operated in an applicationservice provider (ASP) mode. In this mode, the moderator server is usedto create a “private label” interactive program creation system. In thismode, the moderator server provides services that an operator can embedinto another system such that a viewer perceives the interactive programcreation system as owned by individual operators. In some instances anindica of source, such as a “powered by” notice, is included in theinteractive program creation system.

[0112] The moderator's interface is broken up into several operationalsections. A “stage interaction” section 410 displays the moderator'sdirect interaction with a virtual guest on a virtual stage. The stageinteraction section includes a plurality of fields for display ofvirtual guests' previous questions as exemplified by previous questionfield 412. For each answered virtual guest question, a moderatorresponse field, as exemplified by moderator response field 414, displaysthe moderator's response to the virtual guest's previous question. Thestage interaction section further includes a current question field 416for display of a virtual guest's current question. A moderator uses amoderator text entry section 418 to enter responses to the currentvirtual guest question.

[0113] An audience interaction section 420 displays audience comments.The audience interaction comments are comments made by participants toother participants in the audience.

[0114] A moderator uses a status section 423 to monitor the progress ofthe interactive program. The moderator invites audience members to thevirtual stage to be virtual guests using an “invite to stage” selector426. The moderator can select a viewer to invite onto the virtual stageby using a pull down menu of viewer names and selecting a viewer toinvite. Once a viewer is invited to the virtual stage, the viewer'sinteractive messages are displayed in the stage interaction section andnot in the audience interaction section. The moderator can also excludea participant by selecting a participant from a “kick user out” pulldown menu 428. Once excluded, the moderator server removes the excludedparticipant's comment signals from the plurality of participant commentsignals edited by the moderator and used by the moderator server togenerate the interactive program. In this way, the moderator exercisesdirect control over the participants participating in the interactiveprogram.

[0115] In another interactive program creation system, the participant'sexchange video clips and files directly with each other in apeer-to-peer relationship. In this mode, the moderator server is notdirectly involved in the message exchanges occurring between audiencemembers interacting with each other.

[0116] The status section further includes an audience approval systemindicator 430 for indicating to the moderator how the audience feelsabout the progress of the show. Viewer responses are aggregated in ato-be-described process and displayed to the moderator as a coloredindicator and as a numerical value. A moderator uses the audience membercounter field 432 and pull down menu to determine the number andidentification of the viewers receiving the transmitted interactiveprogram. The status section further includes an elapsed time field 433for display of the elapsed time of the interactive program.

[0117] An audience question section 434 displays an audience question436 that the moderator may answer by selecting an answer question button438 or delete by selecting a delete question button 440. The moderatorcan get a new audience question by selecting the update button 442.

[0118] A polls section 444 includes a poll question display field 446for display of a current poll question and a poll results display field448 for display of viewers' responses to the poll. The moderator selectsa new poll button 450 to enter a new poll question whenever themoderator feels that a new poll should be created.

[0119]FIG. 34 is a participant question filtering moderator interface inaccordance with an exemplary embodiment of the present invention. Aparticipant question filtering interface 3400 includes a keyword entryfield 3402 for entry of keywords that the moderator would like to haveincluded by viewers in questions sent to the moderator. Questions withthe entered keywords will be given higher relevance, and thus priority,than questions without the keywords. The participant question filteringinterface further includes an “exclude” entry field 3404 for words whichthe moderator does not want to see in questions, such as expletives orvulgarities. Any participant question having an excluded word will bedeleted from a participant question queue managed by the moderator. Theparticipant question filtering interface further includes a facility forsetting a relevance threshold 3406. A moderator uses the relevancethreshold setting facility to establish a threshold relevance value thata question should have before the question will be added to the questionqueue.

[0120]FIG. 35 is an illustration of the operation of a participantquestion filtering facility in accordance with an exemplary embodimentof the present invention. A participant question 3500 is processed in aparticipant question filter 3502 and assigned a relevance value 3504. Amoderator uses the relevance value to determine which participantquestions the moderator would like to answer. If a participant question3506 has an excluded word, then the relevance of the participantquestion is assigned a value 3508 of 0 and deleted 3510 from aparticipant question queue. In one embodiment of a participant questionfilter in accordance with the present invention, the participantquestion is deleted if the participant question's relevance value doesnot exceed the threshold relevance value set by the moderator. Amoderator uses the participant question filtering facility in order toprocess large numbers of participant questions without becomingoverwhelmed and to filter out offensive participant questions. Thisallows the moderator to automatically moderate an interactive programhaving a large number of participants, thus facilitating scalabilityfrom few participants to many participants.

[0121]FIG. 36 is a process flow diagram of a participant question filterprocess in accordance with an embodiment of the present invention. Thefilter process receives (3600) a participant question 3601. The filterprocess attempts to match (3602) words in the participant question withthe moderator's excluded words 3603. If it is determined (3604) that anexcluded word is in the question, the relevance of the participantquestion is set (3606) to a value below the moderator's previouslydescribed threshold relevance value 3607.

[0122] If no excluded words are found in the participant question, thefilter process determines (3608) the relevance of the participantquestion by matching the moderator's keywords 3609 to the words in theparticipant question. If it is determined (3610) that the relevance ofthe participant question exceeds the threshold relevance value, then theparticipant question is added (3612) to a participant question queue3614.

[0123] In an embodiment of a filtering process in accordance with thepresent invention, keywords and excluded words are matched to theparticipant question using approximate string matching techniques inorder to determine the relevance value of a participant questionincluding misspelled keywords or excluded words.

[0124]FIG. 5 is a screen capture of a viewer interface used to view andinteract with an interactive program in accordance with an exemplaryembodiment of the present invention. The viewer interface 500 includesan interactive program identifier field 502 for display of the name ofthe interactive program being viewed by the viewer. A content displaysection 504 is included for display of a content portion of theinteractive program. The content of an interactive program may betext-based, audio-based, or video-based in any combination dependent onthe capabilities and desires of the moderator. An audience interactivemessage section 506 is included for display of audience interactivemessages that the audience is exchanging amongst themselves. Aninteractive message entry field 508 is used by the viewer to enterinteractive messages for display in the audience interactive messagesection and to interact with the moderator when the moderator invitesthe viewer onto the virtual stage.

[0125] A poll section 510 displays a poll question 511 asked by themoderator of the viewers. The poll section includes a plurality ofresponse buttons, exemplified by response buttons 512 and 514,selectable by the viewer to indicate the viewer's response to the poll.The viewer selects an answer to the poll question by selecting one ofthe response buttons and then selects the “Vote!” button 516 to registerthe viewer's poll answer with the moderator server. The viewer interfacefurther includes sections for banner advertising 518 and for placementof a trademark or service mark 520 to identify the operator of themoderator server. By allowing banner adds, the moderator server allows amoderator to collect revenue from t-commerce interactions with themoderator's hosted interactive program.

[0126] In another embodiment of an interactive program creation systemin accordance with the present invention, a poll is created using aplurality of participant questions for selection by participants. Theparticipant question from the plurality of participant questionsreceiving the most participant selections is selected for submission tothe moderator.

[0127] Referring again to FIG. 4, a current audience approval systemrating field 430 is provided for the display of viewers' rating of aninteractive program. Referring now to FIG. 6, a diagram depicting aprocess for receiving viewer reactions to the interactive program andcalculating an audience approval system rating for an interactiveprogram in accordance with an exemplary embodiment of the presentinvention is shown. A moderator 100 generates an interactive program andtransmits the interactive program to an audience 102 as previouslydescribed. The audience includes a plurality of viewers, as exemplifiedby viewers 600, 602 and 603. Each viewer may have a different opinion ofthe quality of the interactive program; therefore, each viewer isprovided with an individual audience approval system button asexemplified by audience approval system buttons 606, 608, and 610. Eachviewer selects an audience approval system rating button correspondingto the viewer's subjective rating of the interactive program. Theselection of an audience approval system button transmits acorresponding audience approval system signal to the moderator server(not shown) thus creating a plurality of audience approval systemsignals for evaluation by the moderator server. The moderator serverreceives the plurality of audience approval system signals and uses themto generate a single audience approval system rating signal andtransmits the audience approval system rating signal for display on themoderator's interface (not shown).

[0128] In an audience approval system in accordance with an exemplaryembodiment of the present invention, an audience approval system signalcan take on three states, 612, 614, and 616, with each staterepresenting a viewer's subjective opinion of the interactive program.In this embodiment, the three states are mapped to the correspondingnumeric values of “100 ”, “50”, and “0”, with “100” representing aviewer's complete satisfaction with the interactive program, “50”representing the viewer's partial satisfaction with the interactiveprogram, and “0” representing the viewer's complete dissatisfaction withthe interactive program. Each of the plurality of audience approvalsystem signals are mapped to one of these numeric values. These numericvalues are used to generate an arithmetic mean representing the audienceapproval system rating of the interactive program. In the illustratedexample of FIG. 6, viewer 600 rates the interactive program at “100”,viewer 602 rates the interactive program at “50”, and viewer 604 ratesthe interactive program at “100”. These values are used by the moderatorserver to generate (618) an arithmetic mean 624 of the plurality ofmapped viewers' audience approval system signals. The arithmetic mean ispresented to the moderator as the audience approval system rating of themoderator's interactive program. In one audience approval system inaccordance with an exemplary embodiment of the present invention, theaudience approval system rating is mapped to a color, with the numericvalue of “100” being represented in green, the numeric value of “50”being represented in yellow, and the numeric value of “0” beingrepresented in red.

[0129]FIG. 7 is a use case diagram depicting ways in which a moderatormay interact with a system for creating an interactive programincorporating viewer interactions in accordance with an exemplaryembodiment of the present invention. A moderator 100 accesses the systemin order to create (702) an interactive program. In one system forcreating an interactive program incorporating viewer interactions inaccordance with an exemplary embodiment of the present invention, themoderator creates a talkshow that is a periodically broadcastinteractive program. Creation of an interactive program may includeselecting a theme for the talk show, establishing a broadcast time, andcreating a brief description of the talk show. This interactive programinformation is stored in a moderator database 230 (FIG. 2). Themoderator database is used by a moderator server 210 (FIG. 2) togenerate a to-be-described programming guide.

[0130] The moderator also accesses the interactive program creationsystem to host (704) an interactive program. While the moderator ishosting an interactive program, the system provides facilities 706 foraudience management allowing the moderator to restrict access to aninteractive program. As previously described, the system providesfacilities for the moderator to block interactive messages from viewersin the audience. The system also provides a facility 708 for postingpolls during the interactive program. This allows a moderator to posequestions to the audience in order to receive and aggregate viewers'opinions about various subjects during an interactive program aspreviously described. The system further includes facilities 710 foranswering questions presented by viewers to the moderator. As previouslydescribed, a moderator can receive questions from viewers and determinewhether or not to answer them. Additionally, the system provides aninvitation facility 712 for inviting viewers to participate in theinteractive program as a virtual guest as previously described.

[0131] The moderator may also access the interactive program creationsystem to perform (714) administrative tasks associated with moderatinga periodically presented interactive program. The interactive programcreation system provides facilities 718 for sending scheduling remindersto viewers about upcoming interactive programs. Such schedulingreminders may be transmitted to a viewer by email, to a viewer'spersonal pager, to a viewer's wireless phone, or to a viewer's personaldigital assistant. The interactive program creation system also includesfacilities 720 for a moderator to review metrics collected by the systemon a moderator's interactive program.

[0132]FIG. 8 is a use case diagram depicting ways in which a viewer mayinteract with a system for creating an interactive program incorporatingviewer interactions in accordance with an exemplary embodiment of thepresent invention. A user accesses the interactive program creationsystem in order to search for (802) interactive programs. Theinteractive program creation system includes facilities 804 forsearching the interactive program creation system for interactiveprograms on particular topics that the viewer may be interested in. Theinteractive program creation system also includes browsing facilities806 allowing the viewer to examine an interactive program creationsystem directory of interactive programs in a hierarchal manner.

[0133] The viewer may also access the interactive program creationsystem to view 816 and become part of an interactive program. Theinteractive program creation system includes facilities 817 allowing aviewer to interact with embedded advertising. The interactive programcreation system also includes facilities 818 allowing a moderator topoll viewers during an interactive program as previously described. Theinteractive program creation system also includes facilities 820allowing a viewer to ask questions of the moderator and virtual guestsas previously described. The interactive program creation system alsoincludes facilities 822 allowing a viewer to rate an interactive programas previously described.

[0134] The viewer may also access the interactive program creationsystem to personalize (808) the viewer's experience with the interactiveprogram creation system. The interactive program creation systemincludes facilities 810 for submitting suggestions by the interactiveprogram creation system of interactive programs the viewer may beinterested in based on viewer preferences as included in a viewerprofile and previously viewed interactive programs. The interactiveprogram creation system further includes facilities 812 for creation ofa list of favorite interactive programs used by moderators to sendscheduling reminders to the viewer about upcoming interactive programsas previously described. The interactive program creation system alsoincludes facilities 814 allowing a viewer to create and edit a viewerprofile including topics of interest to the viewer. In one embodiment ofan interactive program creation system in accordance with the presentinvention, viewer profiles are stored in data files on the viewerclient. In another embodiment of an interactive program creation systemin accordance with the present invention, viewer profiles are stored ona central server and downloaded as XML documents to the viewer client asneeded.

[0135]FIG. 9 is a Web site diagram of an interactive program creationsystem in accordance with an exemplary embodiment of the presentinvention. As previously described, in one interactive program creationsystem in accordance with an exemplary embodiment of the presentinvention, a moderator server hosts a Web site for accessing interactiveprograms by both moderators and viewers. A user, such as a moderator orviewer, accesses the Web site via a log-in page 900.

[0136]FIG. 29 is a screen capture of an interactive program creationsystem log-in interface in accordance with an exemplary embodiment ofthe present invention. A user selects a register button 2900 to registeras either a viewer or a moderator. If the user is registering as aviewer, the user obtains a viewer identifier and a viewer password. Ifthe user is registering as a moderator, the user obtains a moderatoridentifier and a moderator password. The identifiers and passwords areused by the user to access the interactive program creation system onfuture visits and can be stored in “cookies” on the client the user isusing to access the interactive program creation system.

[0137] A user selects a log-in button 2902 to access the interactiveprogram creation system as a viewer or selects a moderator log-in button2904 to access the interactive program creation system as a moderator.The interactive program creation system log-in interface furtherincludes an upcoming program guide section 2906 for display ofinteractive programs that are scheduled to be produced by theirmoderators in the next 24 hours. The listings in the upcoming programguide section include a previously described “mic” viewer rating 2908and a category link 2910 to a viewer interface where a viewer can findmore interactive programs similar to the listed interactive program.

[0138] Referring again to FIG. 9, if the user logs in as a viewer, theviewer is directed to a viewer home page 902. From the viewer home page,the viewer may access a registration process 904. Once registered, theviewer can access an edit profile process 906.

[0139]FIG. 10 is a screen capture of an edit profile viewer interface inaccordance with an exemplary embodiment of the present invention. Theedit profile viewer interface is used by a viewer to edit the viewer'spersonal information stored in the viewer's profile. The edit profileviewer interface includes a viewer identification field 1000 for displayof the viewer's identification and a password entry field for entry ofthe viewer's password. In operation, a user enters a new password intothe password entry field and selects a “Submit and Continue” button 1003to change the viewer's password. The viewer's identification andpassword are associated together in the user database 232 (FIG. 9) foruse by the viewer as the viewer accesses different facilities of theinteractive program creation system.

[0140] The edit profile viewer interface further includes personalinformation entry fields, such as a first name entry field 1004 and alast name entry field 1006. Alternatively, the viewer may enter ananonymous viewer name rather than the viewer's real name in order tohide the viewer's identity. In operation, a viewer enters their personalinformation and selects the “Submit and Continue” button to store theviewer's personal information in the viewer's database. The personalinformation is used by the interactive program creation system topersonalize the viewer's experience while using the interactive programcreation system.

[0141] The edit profile viewer interface further includes a viewerprofile entry field 1008. In operation, the viewer enters the viewer'sinterests into the viewer profile entry field. The entered viewerprofile is stored in the viewer database for use by the interactiveprogram creation system to make suggestions of interactive programs thatthe viewer may want to participate in. To make suggestions, the viewerprofile is queried and key terms are identified. For example, theillustrated viewer profile 1010 includes the key terms “sports”,“movies”, and “music”. The interactive program creation system comparesthese key terms to key terms included in the moderator database 230(FIG. 9) by moderators who have created interactive program profiles. Ifa match is found, the interactive program creation system suggests thematching interactive program to the viewer.

[0142] In an embodiment of an interactive program creation system inaccordance with the present invention, interactive programs aresuggested to the viewer in a “pay-for-placement” mode. For example, if aplurality of interactive programs match the viewer's profile, the firstinteractive program suggested to the viewer is the interactive programwhose moderator has paid the interactive program creation system'soperator the most for being placed first.

[0143] The edit profile viewer interface further includes a viewer emailaddress entry field 1012, viewer city 1016, viewer state 1018, viewerzipcode 1020, and viewer country 1022 entry fields. In operation, theviewer enters their email and address location and selects the “Submitand Continue” button to store the viewer address information in theviewer database. Moderators using the interactive program creationsystem can use the viewer address information to notify a viewer whenthe moderator's interactive program is to be broadcast. Additionally,the viewer may optionally select an “Include in Directory” button 1022in order to exclude the viewer's address information from view by themoderators.

[0144] The edit profile viewer interface further includes an interactiveprogram search entry field 1024. A viewer uses the search entry field toenter a search term used to search the moderator database forinteractive programs with terms matching the search term. The editprofile viewer interface further includes a category or hub selectionfield 1026. A viewer may select an individual category, such as “News”1027 to be taken to a hub process for accessing interactive programsrelated to the selected category.

[0145] The edit profile viewer interface further includes an advertisingsection for display of “click-through” style banner ads. A user selectsone of the banner ads to be transferred to an advertiser's or retailer'sWeb site. The edit profile viewer interface further includes a featuresection 1030 for display of links to featured hubs. By selecting afeatured hub link, a viewer can quickly access a hub process foraccessing interactive programs related to the selected feature category.

[0146]FIG. 11 is a screen capture of a hub viewer interface inaccordance with an exemplary embodiment of the present invention. Thescreen capture is of an exemplary “News” 1100 hub. Other hubs may becreated for other subjects such as “home improvement” and the like. Thehub includes links for accessing by the viewer, interactive programswhose themes are national news 1102, world news 1104, business news1106, sports news 1108, weather news 1110, and entertainment news 1112.In operation, a viewer selects one of the links to access a specializedprogram guide including links to interactive programs with a themecorresponding to the link title.

[0147] Referring again to FIG. 9, a viewer may access an interactiveprogram electronic program guide process 908. A viewer uses the programguide process to add upcoming interactive programs to a viewer'sinteractive program list that is stored in the viewer database 232.

[0148]FIG. 12 is a screen capture of a program guide viewer interface inaccordance with an exemplary embodiment of the present invention. Theprogram guide includes a plurality of listings for interactive programsavailable for viewing 1200. Each of the listings includes a title andbrief description field 1201, a current subject field 1202, a time field1204, and a listing selection button 1206. In operation, a viewer readsthe listing title and brief description to determine if the viewer wantsto participate in the interactive program. The viewer reads the timefield to determine when the next interactive program will be available,and reads the current subject field to determine what the next subjectto be discussed during the interactive program will be. The viewer thenselects the listing selection button and the “Add Selected to My TalkShows” button 1208 to add the listing to a viewer's list of interactiveprograms that the viewer wants to participate in. The list is maintainedin the viewer's database 232 (FIG. 9).

[0149] The program guide viewer interface further includes aninteractive program rating 1210 display. The interactive program ratingis a viewer rating determined from viewer responses to the interactiveprogram. In a program guide in accordance with an exemplary embodimentof the present invention, the viewer rating is expressed in terms of“mics” (short for “microphone”). The greater the number of mics, thehigher the viewer rating of the interactive program. For example, themaximum number of mics an interactive program may receive is five micsfor a popular program. A minimally popular interactive program may onlyreceive only one mic.

[0150] The program guide viewer interface further includes a link to aninteractive program suggestion 1210 process. As previously described,the interactive program creation system uses a viewer's profile storedin the viewer database and interactive program descriptions stored inthe moderator database to suggest interactive programs that the viewermay be interested in.

[0151] In another program guide viewer interface in accordance with anembodiment of the present invention, the viewer may also access archivedprograms in an “on-demand” mode. In an on-demand mode, the program guideincludes previously broadcast and archived interactive programs.

[0152] Referring again to FIG. 9, a viewer may access the previouslydescribed search facilities 910 of the interactive program creationsystem from the program guide. Additionally, the program guide providesa link to an immediate program guide 912 for listing interactiveprograms that are scheduled to be broadcast within the next day. Aviewer may also access a browsing facility 914. Using the browsingfacility, a viewer can view a hierarchal list of interactive programsfrom which the viewer can select an interactive program to participatein.

[0153] The viewer may access a specific interactive program's home page916 in a variety of ways, such as: selecting a link to an interactiveprogram from the previously described search facility 910; immediateprogram guide 912; browsing facility 920; and suggestion facility 918.Additionally, included in a moderator database 230 is a schedule ofupcoming interactive program broadcasts. The schedule of upcominginteractive program broadcasts may be accessed by the viewer using anupcoming interactive program facility 920. From an interactive program'shome page, a viewer may join a previously described actual interactiveprogram 922. Each interactive program is hosted by a previouslydescribed moderator server 210.

[0154]FIG. 28 is a screen capture of an interactive program home viewerinterface in accordance with an exemplary embodiment of the presentinvention. An interactive program home viewer interface is generated bya moderator server using information entered by a moderator and storedin the moderator database. The interactive program home viewer interfaceincludes an identifier field 2800 for display of an interactiveprogram's identifier. An interactive program description field is usedto display a brief description of the interactive program as describedby the moderator.

[0155] The interactive program home viewer interface further includes aschedule section 2804 where the schedules of upcoming transmissions ofthe interactive program are listed. An upcoming listing 2805 includes areminder button 2806. In operation, a viewer selects the reminder buttonfor a listing and an entry is made by the interactive program creationsystem to the previously described viewer profile. The entry is used totransmit notifications to the viewer when the interactive program isabout to be transmitted.

[0156] The interactive program home viewer interface further includes apreference addition button 2808 that the viewer selects to have theinteractive program added to the previously described viewer's list ofinteractive program preferences. A contact button 2810 is provided foruse by a viewer in sending an email message to a moderator. A searchbutton 2812 is provided for the viewer to search for additionalinteractive programs that are related thematically to the interactiveprogram represented in the interactive program home viewer interface.

[0157] The interactive program creation system further includes afacility 926 for retrieving archived previously broadcast interactiveprograms for viewing. A viewer uses the archive facility to viewtranscripts and enhanced content of interactive programs that the viewermay have missed or wants to view again. In one facility for retrievingarchived interactive programs for viewing in accordance with anexemplary embodiment of the present invention, the archived interactiveprograms can be viewed on an “on-demand” or “pay-for-view” basis.

[0158] In another facility for retrieving interactive programs forviewing in accordance with an exemplary embodiment of the presentinvention, the archived interactive programs may be accessed forpresentation in conjunction with other content such as in a syndicationmode. For example, an archived interactive program whose theme wasdiscussion about a particular product can be linked to an advertisementfor that product on a separate Website. As another example, aninteractive program with a topical theme may be syndicated by a livenews Website.

[0159]FIG. 13 is a screen capture of an interactive program archiveviewer interface in accordance with an exemplary embodiment of thepresent invention. An archive viewer interface includes a plurality ofarchive listings of previously broadcast and archived interactiveprograms 1300 with each archive listing 1301 including a title field1302, a subject field 1304, and a date field 1306. In operation, aviewer reviews the plurality of archive listings and selects the archivelisting corresponding to an archived interactive program the viewerwants to view. After selecting the archive listing of the archivedinteractive program, the viewer views a replay of the archivedinteractive program corresponding to the archive listing. In aninteractive program archive viewer interface in accordance with anexemplary embodiment of the present invention, archived listings areorganized by themes, such as the illustrated “The Gardening Center” 1308that is an archive with a gardening theme. In other interactive programarchive viewer interfaces in accordance with an exemplary embodiment ofthe present invention, an entity, such as a corporation, sponsors thearchive as a form of advertising. For example, a brokerage may sponsoran archive with a financial theme or a hardware retailer may sponsor anarchive with a “do-it-yourself” theme.

[0160] Referring again to FIG. 9, the interactive program creationsystem further includes facilities 924 for a moderator to create aninteractive program. A moderator uses the facility to create aninteractive program by entering information about the interactiveprogram and the information is stored in the moderator database 230.

[0161]FIG. 14 is a screen capture of a moderator interface for aninteractive program authoring tool in accordance with an exemplaryembodiment of the present invention. The interactive program creationmoderator interface includes an interactive program identifier displayfield 1400 for displaying the interactive program's name. A moderatoruses an interactive program identifier entry field 1402 to enter thename of the interactive program. The interactive program creationmoderator interface further includes a description entry field 1404 forentry by the moderator of a brief description of the interactive programand a category/genre selection menu 1408 for selection by the moderatorof a category under which the interactive program will be placed. Theinteractive program creation moderator interface further includes a hostname entry field 1406 for entry of the moderator's name. The interactiveprogram creation moderator interface further includes a broadcastscheduling selection menu 1410, day selection buttons 1412, and a timeselection menu 1414 for selection of the broadcast time of theinteractive program. In operation, a moderator enters in an interactiveprogram name, interactive program description, and host name. Themoderator selects a category, a broadcast schedule, the days of the weekthe interactive program will be broadcast, the time the interactiveprogram will be broadcast, and selects a “Submit and Continue” button1418 to store the entered and selected interactive broadcast informationin the moderator database 230 (FIG. 9). The moderator can also select an“Include in Program Guide” button 1416 to include the interactiveprogram information in the previously described program guide.

[0162]FIG. 39 is a screen capture of an interactive program authoringwizard in accordance with an exemplary embodiment of the presentinvention. Within the interactive program authorizing tool is a “wizard”which allows a host/moderator to easily set up a new interactiveprogram. A “wizard” is a software tool that guides a user through theconfiguration of a software application. A wizard typically includes aset of selectable configuration templates for use by a user and a dialogthat guides the user through the configuration process. The interactiveprogram authoring wizard can operate as a standalone application and maybe used through a Web browser. The interactive program authoring wizardfeatures beginner, intermediate, and expert levels and offers the easeof use of other mass market authoring tools making it easy for potentialmoderators to get started hosting their own interactive programs. Duringa setup process, the moderator selects from several preset genresallowing the moderator to quickly set the look and feel of theirinteractive programs. For example, these presets may include formats fordefining interactive programs such as a news and perspective program, asports program, a business program, a human interest program, ado-it-yourself program, etc. The interactive program authoring tool 3900has a “genre/theme” link 3902 selectable by the moderator to bring up alist of themes 3904 that the moderator selects from. By selecting atheme, the moderator selects a configuration for the interactive programestablishing backgrounds, layouts, and interactive areas for aninteractive program. The moderator selects a theme and the selects a“submit and continue” button 3906 to configure the interactive programusing a themed interactive program template.

[0163] The interactive program creation moderator interface furtherincludes a link to a broadcast schedule editing facility 1418. Amoderator uses this link to access a more detailed interactive programscheduling entry facility. The interactive program creation moderatorinterface further includes a link to an add co-hosts facility 1420. Amoderator uses this link to access a facility for adding a co-host oradditional, but subordinate moderator, such as a side-kick, a panel ofexperts, or a special guest to the interactive program.

[0164] The interactive program creation moderator interface furtherincludes a link to a theme facility 1422. A moderator uses this link toaccess a facility for assigning the interactive program to a thematiccategory for easier classification of interactive programs for browsingby a viewer.

[0165] The interactive program creation moderator interface furtherincludes a link to a send reminders facility 1420. A moderator uses thislink to access a facility for transmitting reminders to viewers. Theinteractive program creation system uses the previously describedviewer's lists of interactive programs to send notifications to each ofthe viewers who have added the moderator's interactive program to theirlist of interactive programs. Reminders may be sent by variouscommunication links such as email, voice mail, and pager as agreed to bythe viewer.

[0166]FIG. 32 is a process flow diagram of a viewer notification processin accordance with an exemplary embodiment of the present invention. Amoderator server receives (3200) an interactive program identifier froma moderator for which the moderator would like to transmit reminders toviewers. The moderator server reads (3201) viewer preferences frompreviously described viewer profiles 3202. Included in a viewer'sprofile is a list of interactive programs for which the viewer wants tobe reminded of upcoming transmissions. If the moderator serverdetermines (3204) that a viewer wants to receive notifications for theidentified interactive program, the moderator server generates (3206) aviewer notification 3208 and transmits the viewer notification to theviewer. The moderator server then determines (3210) if all viewers havebeen processed. If not, the moderator server continues searching forviewers wishing to receive notifications. The moderator server continuesprocessing until all viewers wishing to receive notifications of thetransmission of the interactive program have been notified.

[0167] In one viewer notification process in accordance with anexemplary embodiment of the present invention, a viewer notification istransmitted as an email message to the viewer. The viewer may retrievethe email message by any suitable device or client such as a personaldigital assistant, a personal computer, etc. In another viewernotification process in accordance with an exemplary embodiment of thepresent invention, the viewer notification is in the form of an audioreminder transmitted to a viewer's voice mail system or directly to aviewer's telephone. In another viewer notification process in accordancewith an exemplary embodiment of the present invention, the viewernotification is in the form of an instant message that is transmitted toa viewer if the viewer is currently on a system that is accessible tothe moderator server.

[0168] Referring again to FIG. 14, the interactive program creationmoderator interface further includes a link to a traffic report facility1426. A moderator uses this link to access a facility for generatingreports describing the user interactions with an interactive programbroadcast by the moderator.

[0169]FIG. 15 is a screen capture of a moderator interface for aninteractive program reporting tool in accordance with an exemplaryembodiment of the present invention. In general, a moderator uses aninteractive program reporting tool to specify reports generated usingdata recorded about viewer interaction with an interactive programbroadcast and stored in the moderator database as previously described.Additionally, the interactive program reporting tool is used by amoderator to generate a report regarding viewer access of archivedinteractive programs so that the moderator can determine the popularityof old content that was previously broadcast. The moderator can specifyreports to analyze the data in a variety of ways using a variety of datamining techniques to yield customizable, comprehensive, and flexiblereports. Additionally, viewer identifications associated with the viewerinteraction data can be combined with the previously described viewerprofile data to generate reports on the demographics and geographiclocations of the viewers participating in an interactive program. Inthis mode, a viewer's privacy may be protected by aggregating the viewerdata or stripping viewer identifiers from any data viewable by amoderator. The reporting tool moderator interface includes a selectgroup report menu 1500 for selecting a specific set of reports to view.

[0170] The reporting tool moderator interface further includes entryfields for selection of types and formats of viewer interaction reports.Each of these sections is typified by a selection button 1504 and aformat selection pull-down menu 1506. A moderator selects a selectionbutton to include the specific type of report in a viewer interactionreport and uses the format pull-down menu to select the format of thespecific report. The types of reports the moderator can include in aviewer interaction report include a peak usage report 1504. A peak usagereport is a report indicating the peak usage of the interactive programby the viewers.

[0171] A moderator can select a total traffic report 1508. A totaltraffic report is a report depicting the total number of viewers andviewer interactions with the interactive program over the broadcast timeof the interactive program.

[0172] A moderator can select a breakdown by user report 1512. Abreakdown by user report is reported depicting the interactions ofsingle viewers.

[0173] A moderator can select a breakdown by demographic report 1516. Abreakdown by demographic report is a report depicting viewerinteractions by viewers fitting certain demographic descriptions.

[0174] A moderator can select a breakdown by geography report 1520. Abreakdown by geography report is a report depicting where viewersparticipating in an interactive program are physically located.

[0175] A moderator can select a visitor path report 1524. A visitor pathreport is a report depicting where viewers are located on a network.

[0176] A moderator can select a referral report 1528. A referral reportis a report depicting from which locations viewers have been referredfrom such as an external Web site, etc.

[0177] A moderator can select a polling data report 1534. A polling datareport is a report depicting the results of polls taken by a moderatorduring an interactive program.

[0178] A moderator can select a “clicks by a viewer” report 1538. Aclicks by a viewer report is a report depicting how many selectionsviewers make during an interactive program.

[0179] A moderator can select a feature utilization report 1542. Afeature utilization report is a report depicting how many differentfeatures viewers are using during an interactive program.

[0180] A moderator can select a chat or interactive messaging report1538. A chat or interactive messaging report is a report depicting howmany interactive messages are being sent between the audience membersduring an interactive program.

[0181]FIG. 16 is a screen capture of a moderator interface for a viewerinteraction report generated in accordance with an exemplary embodimentof the present invention. The report moderator interface includes areport selection pull down menu 1600 for immediately viewing sections ofthe report without having to scroll through each of the reports.

[0182] Graph 1610 is a graph of click-through activity versus time foran interactive program. During an interactive program, individualinstances of viewers selecting advertising banners are recorded in thepreviously described moderator database associated with the time of theselection of the advertising banner. An interactive program creationsystem can use the recorded advertising selection events and theirassociated times to generate the click-through activity versus timegraph.

[0183] Graph 1612 is a geographically based graph depicting thegeographic location of viewers participating in an interactive program.The viewers participating in an interactive program are recorded in thepreviously described moderator database. Each recorded viewer'sgeographic location can be determined from the previously describedviewer's profile or by mapping the viewer's IP address to a specificgeographic location. An interactive program creation system can use therecorded viewer identifications and viewer geographic locations togenerate a graphic illustrating the geographic locations of the viewers.

[0184] The viewer interactivity reports are used by a moderator todetermine the effectiveness of an interactive program. For example, themoderator can use the demographic charts to determine if the interactiveprogram is reaching an audience with the demographic profile desired bythe moderator. As a further example, the moderator can determine theeffectiveness of various portions of an interactive program by analyzingparticipant interaction with the interactive program over time. Spikesin interactive message transmissions from the participants may indicateportions of the interactive program that the participants find mostengaging.

[0185]FIG. 17 is a screen capture of a moderator interface for anadvertising report generated in accordance with an exemplary embodimentof the present invention. A revenue generation graphic 1702 illustratesthe relative amounts of revenue generated from the viewers participatingin an interactive program. As the viewers participate in the interactiveprograms, the viewers' interactions with links and advertising bannersincluded in the interactive program are recorded in the moderatordatabase as previously described. An interactive program creation systemcan use the recorded viewer interactions to generate a graphic showingthe relative contributions to total revenue by each of several possibleviewer interaction modes. For example, in the illustrated graph,comparisons are made for selection of links 1704, selection of embeddedads 1706, selection of banner ads 1708, and selection of other types ofads 1710 and 1712, as a percentage of total revenue.

[0186] An advertising geographical graphic 1716 indicates the geographicviewer locations of viewers participating with the interactive program.As the viewers participate in the interactive programs, the viewers'interactions with links and advertising banners included in theinteractive program are recorded in the moderator database as previouslydescribed. Additionally, a viewer identification for each viewerinteraction is stored in the moderator database. Each viewer'sgeographic location can be determined from the previously describedviewer's profile or by mapping the viewer's IP address to a specificgeographic location. An interactive program creation system can use therecorded viewer interactions and viewer identifications to generate agraphic illustrating the geographic locations of advertising revenuegeneration. An interactive program creation system can use viewerinteraction data, viewer identification data, and viewer profile data togenerate a revenue by age graphic 1718 or a revenue by demographicdescription graphic 1720.

[0187]FIG. 31 is a process flow diagram of an interactive program reportgeneration process in accordance with an exemplary embodiment of thepresent invention. A moderator server determines (3100) a set of viewerdemographics for an interactive program's viewing audience by using theinteractive program's history 3102 along with a set of viewer profiles3104. For each viewer that participated in the interactive program whenthe interactive program was transmitted, the moderator server extractsthe individual viewer's stored viewer profile. The moderator serveraggregates the individual viewer profiles to generate viewerdemographics 3106 for the interactive program transmission. Themoderator server generates (3108) a graphical representation 3110 of theviewer demographics, for example a bar graph, and adds 3112 thegraphical representation to a report 3114. The moderator serverdetermines (3116) if all requested graphics have been generated. If not,the moderator selects the next graphic to generate and repeats theprocess thereby adding a new graphic to the report. Once all of thegraphics have been added to the report, the moderator server transmits(3118) the report to the moderator requesting the report.

[0188]FIG. 18 is a database entity relation diagram for a moderatordatabase in accordance with an exemplary embodiment of the presentinvention. The database entity relation diagram is an expression of metadata describing how the data in the viewer and moderator databases arerelated. The moderator database includes information used to organizeinteractive programs created and administered by moderators andhistories of interactive programs including viewer interactions with theinteractive programs. Interactive programs are organized withincategories as previously described. Category information is used tocreate hubs of viewer interactions. A super category 1800 is associatedwith many categories 1802 but each category is only associated with onesuper category. A category or hub is associated with many interactivemessage rooms 1804 which is in turn associated with many interactivemessage lines. A viewer profile is associated with many interactivemessage lines. In operation, a plurality of viewers select a categoryand enter an interactive message room associated with the category.Viewer submissions within an interactive message room are used togenerate individual interactive message lines that are viewed by theviewers as they exchange interactive messages.

[0189] A category is associated with a plurality of polls 1810 with eachpoll being associated with a plurality of poll responses 1812. A viewerprofile is associated with a plurality of poll responses. In operation,viewers respond to a poll associated with a specific category and theviewers' responses are recorded in the moderator database for futureanalysis.

[0190] A category is associated with a plurality of interactive programs1814 and each interactive program is associated with a plurality ofinteractive program broadcasts or instances. Each interactive programbroadcast is associated with a plurality of reminders 1818 with eachreminder being associated with a single user profile. In operation, amoderator determines an interactive programming schedule of interactiveprogram broadcasts and generates reminders that are transmitted toviewers who have expressed an interest in being reminded of theinteractive program's broadcasts.

[0191] A category is associated with a plurality of message boards 1820with each message board being associated with a plurality of messageboard threads 1822. Each message board thread is associated with aplurality of message board messages 1824 with each message board messagebeing associated with a single viewer profile. A viewer profile may beassociated with a plurality of message board messages. In operation,viewers leave messages grouped into message board threads on messageboards maintained by moderators. The messages may be for the moderatorsor may be for other viewers.

[0192] Keywords 1826 are stored in the moderator database so thatviewers can search for categories 1802 and links 1832 associated withthe categories. Additionally, all user inputs can be indexed and taggedto become interactive triggers that are linked to interactive programsserved by the moderator server. Category keywords 1828 are associatedwith a plurality of categories. In operation, a viewer enters a categorykeyword into a previously described search facility and a set ofcategories for use by the viewer are generated that are associated withthe category keyword. Link keywords 1830 associated with links tooff-site resources are also stored in the moderator database. Inoperation, a viewer enters a link keyword in the previously describedsearch facility and a set of links associated with the link keyword isgenerated for use by the viewer.

[0193] Viewer profiles are associated with a plurality of viewerhistories 1834. In operation, a viewer history is recorded of a viewer'sinteractions when accessing an interactive program creation system whilenot actually participating in an interactive program.

[0194]FIG. 19 is a screen capture of a viewer interface for anon-moderator based interactive program associated with a broadcast inaccordance with an exemplary embodiment of the present invention. Aspreviously described, an interactive program can include broadcastcontent from a source not associated with the interactive program, suchas a broadcast from a commercial broadcaster. In this case, aninteractive program includes participant commentary but may not includemoderator commentary. The viewer interface for a non-moderatedinteractive program includes a broadcast content section 1900 fordisplay of non-interactive broadcast content. The viewer interface for anon-moderated interactive program further includes a viewer interactivemessage section 1902 for display of viewer interactive messagestransmitted to a moderator server (not shown). The viewer interface fora non-moderated interactive program includes a viewer interactivemessage entry field for entry of viewer interactive messages. Inoperation, a viewer views the non-interactive broadcast content, entersinteractive messages into the interactive message entry field andselects the “enter” button 1906 to submit the interactive message to themoderator server. The viewer's entered interactive message is thencombined with other viewers' interactive messages to generate aninteractive message display that is shown in the interactive messagedisplay section.

[0195] In an interactive program creation system in accordance with anembodiment of the present invention, the broadcast program issynchronized to the interactive program using synchronization signalsincluded in the interactive program signals. In this way, an interactiveprogram may be synchronized with an external broadcast.

[0196]FIG. 20 is a screen capture of a viewer interface for a broadcastprogram guide in accordance with an exemplary embodiment of the presentinvention. The broadcast program guide viewer interface includes a dateselection/display field 2000 and a time selection/display field 2002. Aviewer uses the date selection/display field and time selection/displayfield to select and display a date and time for which the viewer wantsto view scheduled broadcasts. Scheduled broadcasts for the selected dateand time are shown in a listings section 2003. The listings sectionincludes a broadcast channel column for display of the broadcast channelof a particular program, and a program information column 2005 fordisplay of information about a scheduled program.

[0197] A current broadcast content section 2006 includes a display ofbroadcast content that is currently being broadcast on a selectedbroadcast channel. Information about the broadcast content is shown in abroadcast content information section 2007 formatted as a televisedprogramming guide. The broadcast information includes a broadcastchannel, a title, a broadcast time, and a description, if available, ofthe broadcast content. If a microphone indicator 2008 is shown next to alisting of a scheduled broadcast 2010, this indicates that the scheduledbroadcast is available as an interactive program including broadcastcontent as previously described. In operation, a viewer can select aninteractive program that is currently being broadcast and view thebroadcast content in the current broadcast content section. A viewerselects a “switch to full screen” button 2012 to participate in acurrently broadcast interactive program corresponding to the currentlybroadcast content displayed in the current broadcast content section.

[0198]FIG. 21 is a screen capture of a viewer interface for aninteractive program incorporating Web content in accordance with anexemplary embodiment of the present invention. A viewer initiatesparticipation with an interactive program displayed in an interactiveprogram reduced screen viewer interface 2100. The reduced screen viewerinterface includes a link 2101 to a Web page 2102 that includesadditional information about the interactive program's theme. Forexample, the link may be to an eCommerce Web site where a viewer maypurchase a book that is currently being discussed by a moderator andviewers participating in the interactive program. The reduced screenviewer interface includes a stage interaction section 2104 for displayof interactive messages exchanged between a moderator and a virtualguest or invited viewer as previously described. The reduced screenviewer interface further includes an audience interactive messagedisplay section 2106 for display of interactive massages exchangedbetween viewers as previously described. The reduced screen viewerinterface further includes an interactive message entry field 2108. Inoperation, a viewer enters an interactive message into the interactivemessage entry field and selects the “Enter” button 2110 to transmit theinteractive message to a moderator server (not shown) for inclusion inthe stage or audience interaction display section.

[0199] The reduced screen viewer interface further includes interactiveprogram rating buttons 2112 for viewer rating of an interactive programas previously described. In operation, a viewer selects one of theinteractive program rating buttons to indicate the viewer's satisfactionwith the interactive program. Viewer ratings from a plurality of viewersare aggregated together and displayed to the moderator as previouslydescribed.

[0200] A moderator uses a reduced screen viewer interface to create acontextual commerce application using an interactive program. Themoderator uses the interactive program to build a community from anaudience attracted to the subject matter of the interactive program,such as a product line or a series of books. The moderator then linksthe reduced screen viewer interface to a location where a viewer canmake a purchase of a product or item related to the subject matter of aninteractive program. In addition, archived interactive programs can beaccessed in an “on-demand” mode to be linked to an e-commerce Website inorder to have a continually available sales tool such as an“infomercial” or testimonial for a product or item.

[0201]FIG. 22 is a screen capture of a viewer interface for aninteractive program incorporating Web content in accordance with anotherexemplary embodiment of the present invention. A viewer initiatesinteraction with a previously described reduced screen viewer interface2204 for an interactive program by selecting a link 2202 included in aWeb page 2200. For example, a seller offering items on an auction sitemay be a moderator for an interactive program in order to discuss theoffered items with participating viewers. In this case, the sellerincludes a link to an interactive program for which the seller serves asa moderator.

[0202]FIG. 23 is a screen capture of a viewer interface for a facilityto manage a viewer's personal favorite interactive programs inaccordance with an exemplary embodiment of the present invention. Thepersonal favorite viewer interface includes a listings display section2300 for display of one or more listings 2301. Each listing includes aviewer rating field 2302 for display of previously described viewerratings of an interactive program displayed in the listing. The listingfurther includes a name field 2304 for display of an interactiveprogram's name, a next broadcast field 2306 for display of theinteractive program's next broadcast, a reminder button 2308, and adelete button. In operation, a viewer selects the reminder button toreceive previously described reminders from a listed interactiveprogram's moderator and selects an “update settings” button to transmitthe reminder request to a moderator server (not shown). To delete aninteractive program from the viewer's personal favorite list, the viewerselects the delete button and selects the update settings button todelete a listed interactive program to delete the listed interactiveprogram.

[0203]FIG. 24 is a screen capture of a viewer interface for a facilityto suggest programs to a viewer in accordance with an exemplaryembodiment of the present invention. The suggested program viewerinterface includes a suggested interactive program listing section 2400.A suggested interactive program listing includes a field for display ofa previously described viewer rating 2404, a field for display of aninteractive program's name and brief description 2406, a next broadcastfield 2408 for display of an interactive program's next display time,and an “add” button for adding a listed interactive program to theviewer's list of favorite interactive programs. In operation, a viewerselects the add button for a listed interactive program and selects an“Add Selected to My Interactive Programs” button 2412 to add a listedinteractive program to the viewer's previously described favoriteinteractive program.

[0204]FIG. 25 is a deployment diagram of a process for conversion anddelivery of interactive programs via an interactive television networkin accordance with an exemplary embodiment of the present invention. Amoderator server 210 receives participant comments and moderator contentfrom an audience and a moderator and generates interactive program fortransmission over the Internet 202 to a viewer client 212 as previouslydescribed.

[0205] The same interactive program can be transmitted over aconventional interactive television (iTV) network as well. The moderatorserver transmits the interactive program to an iTV server 2500 and theiTV server generates iTV content 2500 from the interactive program. TheiTV content is transmitted via communications network 2502 to an iTVsignal processor. The iTV signal processor receives the iTV content anduses the iTV content to generate iTV signals for transmission to an iTVenabled television 2508 for viewing by a viewer. In this mode, triggersare generated from the interactive program signals and the viewer usesthe triggers to participate in the interactive program, such as throughthe use of tags associated with the triggers included in the iTVsignals' Vertical Blanking Interval (VBI), and the viewer's comments aretransmitted via a back channel 2510 to the moderator server. In thisway, a viewer can use either an iTV enabled television or a viewerclient to participate in an interactive program as previously described.

[0206]FIG. 33 is a deployment diagram of a locally hosted moderatorserver in accordance with an exemplary embodiment of the presentinvention. A moderator server 210 implementing the previously describedinteractive program creation facilities is hosted by a local host 3300.The local host may also host the previously described moderator client204. In this embodiment, the locally hosted moderator server is operablycoupled to a plurality of previously described viewer clients, asexemplified by viewer clients 214 a and 214 a, via previously describedcommunications network 202. The moderator server is further coupled toan interactive program server 3302 via the communications network. Theinteractive program server is operably coupled to the previouslydescribed moderator database 230 and viewer database 232.

[0207] In operation, the locally hosted moderator server is used by amoderator to create an interactive program for transmission to theviewer clients and moderator client as previously described. In thisembodiment, viewer information is stored in the viewer database,moderator information is stored in the moderator database and themoderator server and the viewer clients access the information via theinteractive program server. The local host may be any type ofprogrammable device capable of bidirectional communication with otherdevices over a communications network. For example, the local host canbe a game console, or a personal computer, or a set-top-box, etc.

[0208]FIG. 26 is a hardware architecture diagram of a data processingsystem suitable for use as a moderator server host in accordance with anexemplary embodiment of the present invention. A microprocessor 2600,including a Central Processing Unit (CPU) 2610, a memory cache 2620, anda bus interface 2630, is operatively coupled via a system bus 2635 to amain memory 2640 and an I/O control unit 2645. The I/O interface controlunit is operatively coupled via an I/O local bus 2650 to a disk storagecontroller 2695, and a network communications controller 2680. Acommunications device 2696 is operatively coupled to the networkcommunications controller and is adapted to allow software objectshosted by the general purpose computer to communicate via a network withother software objects.

[0209] The disk storage controller is operatively coupled to a diskstorage device 2655. Computer program instructions 2697 implementing apreviously described moderator server are stored on the disk storagedevice until the microprocessor retrieves the computer programinstructions and stores them in the main memory. The microprocessor thenexecutes the computer program instructions stored in the main memory toimplement the moderator server.

[0210] Although this invention has been described in certain specificembodiments, many additional modifications and variations would beapparent to those skilled in the art. It is therefore to be understoodthat this invention may be practiced otherwise than as specificallydescribed. Thus, the present embodiments of the invention should beconsidered in all respects as illustrative and not restrictive, thescope of the invention to be determined by any claims supportable bythis application and the claims' equivalents.

What is claimed is:
 1. A method for generating an interactive programfor transmission over a communications network, comprising: extractingcaptions and program information from a broadcast media signal by acaption and program information extractor; putting the captions andprogram information in the content database by the caption and programinformation extractor; coupling a moderator server to the communicationsnetwork and the content database; coupling a moderator client and aplurality of viewer clients to the moderator server through thecommunications network; receiving moderator comments and edited viewercomments by the moderator server from the moderator client through thecommunications network; getting captions and program information by themoderator server from the content database; generating interactiveprogramming by the moderator server using the moderator comments, editedviewer comments, program information, and captions; and transmitting theinteractive programming by the moderator server to the viewer clientsthrough the communications network.
 2. The method of claim 1, furthercomprising: receiving viewer comments by the moderator server from theviewer clients through the communications network; and transmitting theviewer comments by the moderator server to the moderator client throughthe communications network.
 3. The method of claim 1 wherein thecommunications network is a virtual private network.
 4. The method ofclaim 1 wherein the viewer comments further include an interactiveprogram rating signal.
 5. The method of claim 1, further comprising:receiving a viewer exclusion signal specifying a viewer client by themoderator server from the moderator client through the communicationsnetwork; and generating by the moderator server the interactiveprogramming using the viewer exclusion signal to exclude viewer commentsreceived from the specific viewer client.
 6. The method of claim 1,further comprising: receiving a viewer invitation signal correspondingto a specific viewer client by the moderator server from the moderatorclient through the communications network; and generating by themoderator server the interactive programming using the viewer invitationsignal to include viewer comments from the specific viewer client in avirtual stage.
 7. A method for generating an interactive program fortransmission over a television broadcast network and a communicationsnetwork, comprising: extracting captions and program information from abroadcast media signal by a caption and program information extractor;putting the captions and program information in the content database bythe caption and program information extractor; coupling a moderatorserver to the communications network and the content database; couplinga moderator client and a plurality of viewer clients to the moderatorserver through the communications network; receiving moderator commentsand edited viewer comments by the moderator server from the moderatorclient through the communications network; getting captions and programinformation by the moderator server from the content database;generating interactive programming by the moderator server using themoderator comments, edited viewer comments, program information, andcaptions; and transmitting the interactive programming by the moderatorserver to viewer televisions through the television broadcast network.8. The method of claim 7, further comprising: receiving viewer commentsby the moderator server from viewer clients through the communicationsnetwork; and transmitting the viewer comments by the moderator server Cothe moderator client through the communications network.
 9. A method forgenerating an interactive program for transmission over a televisionbroadcast network, comprising: extracting captions and programinformation from a broadcast media signal by a caption and programinformation extractor; putting the captions and program information inthe content database by the caption and program information extractor;coupling a moderator server to a communications network, the telephonynetwork, the television broadcast network, and the content database;coupling a moderator client to the moderator server through thecommunications network; receiving moderator comments and edited viewercomments by the moderator server from the moderator client through thecommunications network; getting captions and program information by themoderator server from the content database; generating interactiveprogramming by the moderator server using the moderator comments, editedviewer comments, program information, and captions; and transmitting theinteractive programming by the moderator server to viewer televisionsthrough the television broadcast network.
 10. The method of claim 9,wherein viewers communicate with the moderator through a telephonynetwork, the method further comprising: coupling the moderator server tothe telephony network; receiving viewer comments by the moderator serverfrom the viewers through the telephony network; and transmitting theviewer comments by the moderator server to the moderator client throughthe communications network.
 11. An apparatus for generating aninteractive program for transmission over a communications network,comprising: a content database; a caption and program informationextractor coupled to a broadcast media signal source and the contentdatabase for extracting captions and program information from abroadcast media signal and putting the captions and program informationin the content database; a moderator server coupled to the contentdatabase and coupled through the communications network to a pluralityof viewer clients and a moderator client, the moderator serverincluding: a processor; and a memory operably coupled to the processorand having program instructions stored therein, the processor beingoperable to execute the program instructions, the program instructionsincluding: receiving moderator comments and edited viewer comments bythe moderator server from the moderator client through thecommunications network; getting captions and program information by themoderator server from the content database; generating interactiveprogramming by the moderator server using the moderator comments, editedviewer comments, program information, and captions; and transmitting theinteractive programming by the moderator server to the viewer clientsthrough the communications network.
 12. The apparatus of claim 11, theprogram instructions further including: receiving viewer comments by themoderator server from the viewer clients through the communicationsnetwork; and transmitting the viewer comments by the moderator server tothe moderator client through the communications network.
 13. Theapparatus of claim 11 wherein the communications network is a virtualprivate network.
 14. The apparatus of claim 11 wherein the viewercomments further include an interactive program rating signal.
 15. Theapparatus of claim 11, the program instructions further including:receiving a viewer exclusion signal specifying a viewer client by themoderator server from the moderator client through the communicationsnetwork; and generating by the moderator server the interactiveprogramming using the viewer exclusion signal to exclude viewer commentsreceived from the specific viewer client.
 16. The apparatus of claim 11,the program instructions further including: receiving a viewerinvitation signal corresponding to a specific viewer client by themoderator server from the moderator client through the communicationsnetwork; and generating by the moderator server the interactiveprogramming using the viewer invitation signal to include viewercomments from the specific viewer client in a virtual stage.
 17. Anapparatus for generating an interactive program for transmission over atelevision broadcast network and a communications network, comprising: acontent database; a caption and program information extractor coupled toa broadcast media signal source and the content database for extractingcaptions and program information from a broadcast media signal andputting the captions and program information in the content database; amoderator server coupled to a moderator client through thecommunications network, the moderator server coupled to the contentdatabase, and the moderator server coupled to the television broadcastnetwork, the moderator server including: a processor; and a memoryoperably coupled to the processor and having program instructions storedtherein, the processor being operable to execute the programinstructions, the program instructions including: receiving moderatorcomments and edited viewer comments by the moderator server from themoderator client through the communications network; getting captionsand program information by the moderator server from the contentdatabase; generating interactive programming by the moderator serverusing the moderator comments, edited viewer comments, programinformation, and captions; and transmitting the interactive programmingby the moderator server to viewer televisions through the televisionbroadcast network.
 18. The apparatus of claim 17, wherein the moderatorserver is further coupled to a plurality of viewer clients through thecommunications network the program instructions further including:receiving viewer comments by the moderator server from viewer clientsthrough the communications network; and transmitting the viewer commentsby the moderator server to the moderator client through thecommunications network.
 19. An apparatus for generating an interactiveprogram for transmission over a television broadcast network,comprising: a content database; a caption and program informationextractor coupled to a broadcast media signal source and the contentdatabase for extracting captions and program information from abroadcast media signal and putting the captions and program informationin the content database; a moderator server coupled to a moderatorclient through the communications network, the moderator server coupledto the television broadcast network, and the moderator server coupled tothe content database, the moderator server including: a processor; and amemory operably coupled to the processor and having program instructionsstored therein, the processor being operable to execute the programinstructions, the program instructions including: receiving moderatorcomments and edited viewer comments by the moderator server from themoderator client through the communications network; getting captionsand program information by the moderator server from the contentdatabase; generating interactive programming by the moderator serverusing the moderator comments, edited viewer comments, programinformation, and captions; and transmitting the interactive programmingby the moderator server to viewer televisions through the televisionbroadcast network.
 20. The apparatus of claim 19, wherein the moderatorserver is further coupled to a telephony network and viewers communicatewith the moderator server through the telephony network, the programinstructions further including: receiving viewer comments by themoderator server from the viewers through the telephony network; andtransmitting the viewer comments by the moderator server to themoderator client through the communications network.